package cam.School.DataAccessObject;

import java.sql.SQLException;
import java.util.List;

import cam.School.DataTransfertObject.CallResult;
import cam.School.DataTransfertObject.InfrastructurDTO;
import cam.School.DataTransfertObject.MaterialDTO;


public interface InfrastructurDAO {
	public List<MaterialDTO>getAllMaterial() throws SQLException;	
	public CallResult createMaterial(MaterialDTO material);
	public CallResult updateMaterial(MaterialDTO material);
	public CallResult deleteMaterial(long materialId) throws Exception;
	public MaterialDTO getMaterialById(int materialId);
	
	public List<InfrastructurDTO>getAllInfrastructur() throws SQLException;
	public CallResult createInfrastructur(InfrastructurDTO infrastructur);
	public CallResult updateInfrastructur(InfrastructurDTO infrastructur);
	public CallResult deleteInfrastructur(long infrastructurId) throws Exception;
	public InfrastructurDTO getInfrastructurById(int infrastructurId);
	
	public boolean insertTimetable(int infrastructurId, String date, String thema, String organisator, String from, String to);
	public InfrastructurDTO getTimetableById(int infrastructurId);
	public InfrastructurDTO[] getAllTimetable();
	public List<InfrastructurDTO> getByInfrastructurByCategory(long infrastructurCategoryId);
	public List<MaterialDTO> getByMaterialByCategory(long materialCategoryId);
	

}
